<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>请求超时与网络异常</title>
    <style>
      .container {
        width: 200px;
        height: 200px;
        border: 1px solid red;
      }
    </style>
</head>
<body>
<button>点我发送请求</button>
<div class="container"></div>
<script>
  var btn = document.querySelector('button');
  var container = document.querySelector('.container');
  btn.onclick = function () {
    var xhr = new XMLHttpRequest();
    //解决ie缓存问题 加一个时间戳可以解决这个问题
    xhr.open('GET','http://localhost:8000/delay');
    xhr.send();
    //设置超时时间
    xhr.timeout = 2000;
    xhr.ontimeout = function () { //超时的回调函数
      alert('宝贝，你的网络似乎有点慢诶!!!!');
    }
    xhr.onerror = function () {//网络错误的回调
      alert('宝贝你的网络似乎有点问题!!!!');
    }
    xhr.onreadystatechange = function () {
      if (xhr.readyState === 4) {
        if (xhr.status >= 200 && xhr.status < 300) {
          container.innerHTML = xhr.response;
        }
      }
    }
  }
</script>
</script>
</body>
</html>